1. Field of the Invention
The present invention relates to a hybrid hard disk drive, and a related cache control method and program. More particularly, the invention relates to a cache control method increasing data access speed by simultaneously searching a nonvolatile cache and reading a hard disk.
This application claims the benefit of Korean Patent Application No. 10-2006-0010638, filed on Feb. 3, 2006, the subject matter of which is hereby incorporated by reference.
2. Description of the Related Art
A hybrid hard disk drive (HDD) includes a hard disk storage capability of a conventional HDD and a nonvolatile cache (NVC). The NVC is commonly implemented using flash memory.
Compared to conventional disk-only HDDs, the hybrid HDD has several notable advantages. First, the boot time for a host system incorporating the hybrid HDD may be reduced since an initial (or boot) set of data files from the host system may be quickly copied into the NVC rather than being written to the hard disk. In a disk-only HDD, this boot file downloading is slowed by the period of time required to spin-up the spindle motor rotating the disk to its operational speed. However, a host system using a hybrid HDD may download its boot files to the NVC without waiting for the spindle motor to reach its operating rotational speed.
Additionally, the data access time provided by a hybrid HDD is generally quicker than that provided by disk-only HDDs. That is, a host system using a hybrid HDD may store data in either or both of the NVC and hard disk. When data is subsequently read, the host system first searches the NVC for the data and if it is located in the NVC, it may be directly read from the NVC without requirement to search the hard disk. Since, recently recorded data has a higher access frequency than older data, it may be stored in the NVC to thereby reduce overall data access time.
Like conventional disk-only HDDs, the hybrid HDD may include a dynamic random access memory (DRAM) cache in addition to a NVC and a hard disk. The DRAM cache may be used as a buffer for data communicated between the hybrid HDD and host system. Thus, when a read request from the host system results in a “full hit” (i.e., identification of all of the requested data) within the DRAM cache, data may be communicated to the host system at the highest relative access speed. In contrast, when a hit occurs relative to data stored in the NVC, such data must first be communicated to the DRAM cache and subsequently communicated to the host system.
Thus, conventional hybrid HDDs typically access (i.e., look for and obtain) data in an ordered manner progressing from the DRAM cache, to the NVC, and finally to the hard disk. This sequential data access approach makes use of the relative data processing speeds for these three media. However, requested data stored in only the hard disk will only be searched for after first searching the DRAM cache and the NVC. Where a certain percentage of data hits occurs in the hard disk, as opposed to the DRAM cache and NVC, overall data access speed will suffer from the overhead requirement of caches-first searching.
Assuming a worst case scenario, the total time required to run a DRAM cache search, a NVC search, spin-up the spindle motor and access data stored on the hard drive, and then communicate the data to the DRAM cache may add up to several milliseconds. For several emerging HDD applications, such access delays are simply unacceptable.